 package com.example.demo;

import java.util.Arrays;
import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import static java.util.regex.Pattern.compile;

/**
 * @Description
 * @Author
 * @Date 2019/9/25 11:28
 **/
public class CompileDemo {

    private static Lock lock = new ReentrantLock();
    public static final String AGE = "age";

    private String fistName;

    public static void main(String[] args) {
        boolean matches1 = "1万元".matches("^[0-9]+(\\.[0-9]{1,3})?(万元)?$");
        lock.lock();
        List<Integer> integers = Arrays.asList(101678643, 101678643, 101678643, 101721300, 101762620, 101762620, 101763138, 101763138, 101763138, 101763768, 101763768, 101763768, 101763768, 101763768, 101763768, 101763768, 101763768, 101763768, 101763768, 101763768, 101763768, 101766657, 101776514, 101776514, 101810773, 101810801, 101811543, 101812119, 101812134, 101813444, 101813446, 101813446, 101822572, 101822572, 101822572, 101849514, 101864933, 101864933, 101864933, 101864933, 101864933, 101865087, 101865087, 101865087, 101865087, 101865087, 101865087, 101865087, 101865413, 101865439, 101865439, 101865439, 101865439, 101865439, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865602, 101865653, 101865653, 101865653, 101865684, 101865878, 101865878, 101865878, 101865878, 101866510, 101866510, 101866622, 101866622, 101866622, 101866868, 101866868, 101867830, 101872646, 101880191, 101880368, 101880368, 101880368, 101880368, 101904624, 101904666, 101904666, 101904666, 101904666, 101904667, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905928, 101905943, 101906237, 101906245, 101906245, 101906245, 101969963, 101969963, 101969963, 101970064, 101971246, 101971726, 101971749, 101971749, 101981025, 101981025, 101981026, 101981026, 101981026, 101981026, 101981113, 102020374, 102020546, 102020870, 102020870, 102020870, 102020870, 102020870, 102020870, 102020870, 102020870, 102020870, 102020870, 102020870, 102021421, 102021421, 102021436, 102021437, 102021669, 102021674, 102021674, 102037347, 102037347, 102037347, 102037347, 102037347, 102037347, 102037347, 102037347, 102037347, 102037347, 102037347, 102037347, 102037347, 102037347, 102037347, 100425255, 100425255, 100425255, 100425255, 101573342, 101576345, 101576345, 101576345, 101576345, 101589764, 101694660, 101749392, 101749441, 101749441, 101749441, 101749441, 101763223, 101763223, 101763765, 101767940, 101767940, 101767940, 101768465, 101768465, 101768465, 101768465, 101768465, 101768465, 101773058, 101773058, 101775820, 101775853, 101775853, 101775853, 101775853, 101775853, 101775853, 101775853, 101775853, 101775853, 101775896, 101776475, 101780498, 101788430, 101788430, 101790527, 101790527, 101790527, 101790527, 101800970, 101800970, 101800970, 101801059, 101801125, 101801179, 101802519, 101802668, 101803099, 101803099, 101803099, 101803099, 101803099, 101803099, 101803106, 101803106, 101803115, 101803115, 101803115, 101803115, 101803115, 101803115, 101803115, 101803115, 101803196, 101803198, 101803198, 101803198, 101803198, 101803251, 101803251, 101803251, 101803251, 101803251, 101803251, 101803253, 101803554, 101803554, 101803554, 101803554, 101803554, 101803554, 101804509, 101804509, 101805479, 101810850, 101810979, 101810979, 101810979, 101810979, 101811808, 101811857, 101811857, 101823029, 101823700, 101823700, 101823700, 101823700, 101823709, 101823709, 101823714, 101823714, 101823714, 101823714, 101831653, 101831653, 101831653, 101831653, 101831653, 101831659, 101849254, 101849254, 101849254, 101849259, 101849259, 101849259, 101849309, 101849741, 101849741, 101849741, 101865325, 101865333, 101865333, 101865333, 101865333, 101865333, 101865333, 101865333, 101866470, 101866472, 101866472, 101866472, 101866472, 101866478, 101866478, 101866478, 101866522, 101867761, 101867761, 101867761, 101867823, 101867823, 101867823, 101867823, 101867823, 101867823, 101867823, 101867823, 101867823, 101867823, 101867823, 101872745, 101872768, 101872768, 101872768, 101878988, 101879044, 101879044, 101897523, 101904772, 101904772, 101904772, 101904772, 101904772, 101904772, 101904797, 101904798, 101905847, 101905901, 101905901, 101905901, 101912536, 101912536, 101912704, 101920018, 101945222, 101970199, 101970435, 101970453, 101970453, 101970453, 101971737, 101972184, 101972184, 101996361, 101996361, 101996375, 101996375, 101996375, 101997059, 102009658, 102021679, 102022882, 102023083, 102037361, 102037361, 102037361, 102060572, 102060572, 102060679, 101567572, 101589748, 101678642, 101678642, 101678642, 101714179, 101714179, 101714179, 101714179, 101714179, 101714179, 101714179, 101714179, 101714179, 101720273, 101720273, 101720273, 101720273, 101721144, 101721144, 101721144, 101721144, 101721999, 101721999, 101721999, 101721999, 101727169, 101727170, 101733775, 101733778, 101739640, 101739640, 101739641, 101739643, 101739643, 101744709, 101744716, 101749081, 101749086, 101749086, 101749406, 101749445, 101749457, 101749506, 101749538, 101749544, 101749549, 101750424, 101753799, 101754411, 101763134, 101763134, 101763134, 101763134, 101763140, 101763152, 101763161, 101763161, 101763161, 101763161, 101763162, 101763162, 101763163, 101763163, 101763163, 101763163, 101763178, 101763182, 101763182, 101763182, 101763183, 101763183, 101763183, 101763185, 101763185, 101763744, 101763744, 101763746, 101763746, 101763746, 101763746, 101763758, 101763766, 101763774, 101763774, 101763774, 101763774, 101763775, 101763794, 101763794, 101763794, 101763797, 101763812, 101763818, 101763818, 101763818, 101763826, 101763826, 101763848, 101763848, 101763848, 101763848, 101763850, 101763851, 101763851, 101763851, 101763851, 101763851, 101763857, 101766656, 101766656, 101766656, 101766656, 101766656, 101766792, 101766792, 101766792, 101766792, 101766792, 101766799, 101767667, 101767667, 101767809, 101767835, 101770519, 101773056, 101773056, 101773056, 101773056, 101775868, 101775878, 101775898, 101775898, 101775904, 101775904, 101775904, 101775904, 101775910, 101775913, 101775914, 101775962, 101775975, 101776510, 101776510, 101776541, 101776542, 101776544, 101776552, 101776561, 101776562, 101776564, 101776705, 101776706, 101780729, 101781267, 101781267, 101790464, 101790464, 101792443, 101792443, 101792443, 101792443, 101800892, 101800892, 101800893, 101800950, 101800954, 101800969, 101801061, 101801124, 101801126, 101801243, 101801243, 101801884, 101801884, 101802516, 101802686, 101802688, 101802693, 101802866, 101802938, 101803191, 101803191, 101803191, 101803194, 101803194, 101803194, 101803200, 101803248, 101803248, 101803250, 101803258, 101803491, 101803524, 101810505, 101810777, 101810787, 101810787, 101810828, 101811000, 101811000, 101811151, 101811151, 101811151, 101811151, 101811151, 101811153, 101811153, 101811621, 101811621, 101811622, 101811624, 101811624, 101811627, 101811627, 101811627, 101811627, 101811627, 101811635, 101811635, 101811637, 101811785, 101811835, 101811836, 101811837, 101811847, 101811848, 101811854, 101811854, 101811854, 101811854, 101811854, 101811854, 101811854, 101811854, 101811854, 101811856, 101811856, 101811856, 101811856, 101811865, 101811865, 101811865, 101811865, 101811865, 101811877, 101811917, 101811917, 101811917, 101812044, 101812044, 101812136, 101812141, 101812141, 101812141, 101812142, 101812142, 101812142, 101812144, 101812145, 101812145, 101812155, 101812155, 101812155, 101812155, 101812155, 101812155, 101812371, 101812371, 101813443, 101813443, 101813443, 101813443, 101813443, 101813443, 101823718, 101823718, 101823718, 101823718, 101823721, 101823721, 101823721, 101823721, 101823725, 101823725, 101823725, 101823725, 101823725, 101823821, 101823821, 101823821, 101823821, 101823841, 101823841, 101823841, 101823841, 101823842, 101823842, 101823842, 101831685, 101831685, 101831690, 101831698, 101831699, 101831717, 101831726, 101831747, 101831747, 101831764, 101831768, 101831782, 101831793, 101831814, 101831821, 101831839, 101831841, 101831843, 101839327, 101849067, 101849067, 101849067, 101849097, 101849097, 101849097, 101849097, 101849108, 101849264, 101849264, 101849264, 101849358, 101849373, 101849373, 101849373, 101849420, 101849460, 101849460, 101849460, 101849460, 101849465, 101849480, 101849480, 101849480, 101849480, 101849893, 101849970, 101849970, 101849970, 101849970, 101849970, 101849970, 101864821, 101865209, 101865209, 101865209, 101865209, 101865209, 101865209, 101865209, 101865276, 101865276, 101865400, 101865407, 101865407, 101865407, 101865407, 101865407, 101865407, 101865407, 101865407, 101865407, 101865423, 101865423, 101865423, 101865428, 101865428, 101865428, 101865428, 101865428, 101865428, 101865428, 101865428, 101865428, 101865428, 101865446, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865448, 101865678, 101865678, 101865678, 101865689, 101865689, 101865689, 101865689, 101865689, 101865704, 101865704, 101865792, 101865792, 101865879, 101865879, 101865879, 101866452, 101866534, 101866603, 101867466, 101867758, 101867758, 101867777, 101867778, 101867779, 101867825, 101867827, 101867829, 101867845, 101872594, 101872596, 101872622, 101872622, 101872622, 101872622, 101872622, 101872622, 101872622, 101872622, 101872652, 101872652, 101872667, 101872667, 101872667, 101872667, 101872670, 101872670, 101872670, 101872670, 101872673, 101872679, 101872679, 101872712, 101879490, 101879497, 101879497, 101880020, 101889044, 101889047, 101889047, 101890254, 101890254, 101890254, 101897246, 101897246, 101904623, 101904623, 101904623, 101904655, 101904800, 101904800, 101904800, 101904800, 101906239, 101906239, 101906239, 101906239, 101906246, 101906246, 101906246, 101906246, 101906246, 101906280, 101906280, 101906280, 101906280, 101906284, 101906284, 101906284, 101906284, 101906319, 101906319, 101906319, 101906627, 101919320, 101919320, 101944802, 101944802, 101970010, 101970018, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970021, 101970024, 101970039, 101970069, 101970078, 101970086, 101970699, 101970699, 101970699, 101970699, 101970699, 101970699, 101970913, 101970913, 101970913, 101970913, 101970913, 101970913, 101970913, 101970913, 101970913, 101970914, 101970914, 101971180, 101971180, 101971180, 101971180, 101971251, 101971251, 101971308, 101971308, 101971308, 101971750, 101971750, 101971775, 101971775, 101971775, 101971775, 101971788, 101971920, 101971920, 101971924, 101972164, 101972164, 101972164, 101972164, 101972164, 101972164, 101972164, 101972164, 101972164, 101972164, 101972164, 101972164, 101972176, 101972176, 101972176, 101972176, 101972178, 101972187, 101972187, 101972187, 101972187, 101972187, 101974925, 101974925, 101974925, 101974925, 101981090, 101981151, 101981166, 101981166, 101981166, 101981166, 101981166, 101981166, 101981166, 101981166, 101989758, 101996193, 101996193, 101996193, 101996193, 101996193, 101996193, 101996193, 101996193, 101996682, 101996783, 101996784, 101996799, 102009813, 102009813, 102009813, 102020370, 102020370, 102020370, 102020386, 102020386, 102020386, 102020386, 102020386, 102020386, 102020561, 102020574, 102020574, 102020580, 102020580, 102020580, 102020580, 102020580, 102020682, 102020688, 102020965, 102021386, 102021386, 102021390, 102021393, 102021393, 102021393, 102021393, 102021393, 102021393, 102021393, 102021393, 102021396, 102021401, 102021401, 102021401, 102021401, 102021413, 102021668, 102021675, 102021675, 102021697, 102021697, 102021702, 102021702, 102021702, 102021868, 102021868, 102021868, 102021868, 102021869, 102021869, 102021871, 102022753, 102022753, 102022753, 102022753, 102022756, 102022887, 102022887, 102022887, 102022887, 102022912, 102022912, 102022912, 102023407, 102023407, 102023417, 102023417, 102023418, 102023418, 102023418, 102023445, 102023445, 102023445, 102023445, 102023463, 102023463, 102023463, 102023553, 102023553, 102023553, 102023564, 102023564, 102023564, 102023564, 102023635, 102023635, 102023635, 102023695, 102023696, 102023697, 102023698, 102036953, 102036953, 102036953, 102036953, 102037053, 102037053, 102037053, 102037153, 102037153, 102037153, 102037153, 102037153, 102037153, 102037208, 102037272, 102037272, 102060731, 102060731, 102061827, 102061827, 102061843, 101678595, 101678595, 101678595, 101678595, 101678595, 101678651, 101678651, 101678651, 101696312, 101720889, 101720890, 101720890, 101720910, 101727373, 101733843, 101733846, 101749459, 101749487, 101750412, 101750420, 101762622, 101763132, 101763132, 101763157, 101763175, 101763740, 101763740, 101763740, 101763740, 101763779, 101763779, 101763779, 101763779, 101763783, 101763783, 101763783, 101763783, 101763783, 101763798, 101763798, 101763825, 101763825, 101763825, 101763825, 101763825, 101763825, 101763825, 101763825, 101763825, 101763825, 101763825, 101763825, 101763831, 101763831, 101763831, 101763831, 101763833, 101763833, 101763833, 101763833, 101763837, 101763837, 101763838, 101763838, 101763838, 101763838, 101766613, 101766614, 101766614, 101766614, 101766621, 101766628, 101766628, 101766632, 101766632, 101766633, 101766634, 101766635, 101766637, 101766638, 101766640, 101766640, 101766640, 101766640, 101766640, 101766640, 101766644, 101766644, 101766644, 101766644, 101766650, 101766650, 101766650, 101766650, 101766650, 101767605, 101767782, 101767782, 101767987, 101767987, 101767987, 101767996, 101767997, 101768012, 101775817, 101775817, 101775876, 101775899, 101775899, 101775899, 101775899, 101775899, 101775991, 101775991, 101789557, 101800947, 101800947, 101800947, 101801058, 101801058, 101801060, 101801944, 101802252, 101810781, 101810781, 101810782, 101810782, 101810805, 101810806, 101810806, 101810812, 101810830, 101810830, 101810830, 101810830, 101810830, 101810837, 101810838, 101810838, 101810838, 101810838, 101810843, 101810843, 101810848, 101810848, 101810848, 101810848, 101810848, 101810848, 101810848, 101810848, 101810849, 101810858, 101810858, 101810862, 101810865, 101810865, 101810865, 101810865, 101810865, 101810865, 101810865, 101810865, 101810867, 101810867, 101810867, 101810867, 101810868, 101810868, 101810868, 101810868, 101811790, 101811790, 101811803, 101811803, 101812096, 101812100, 101812101, 101812127, 101812132, 101812147, 101812172, 101812204, 101812374, 101812374, 101812374, 101812376, 101812378, 101813441, 101814192, 101814192, 101814192, 101814215, 101814215, 101814215, 101823874, 101823958, 101831849, 101831849, 101849318, 101849318, 101849328, 101849328, 101849328, 101849328, 101864642, 101864681, 101864683, 101864683, 101864698, 101864698, 101864698, 101864702, 101864702, 101864703, 101864703, 101865196, 101865652, 101865674, 101865674, 101865674, 101865685, 101865688, 101865690, 101865690, 101865700, 101866426, 101866426, 101866432, 101866432, 101866574, 101866574, 101866574, 101866574, 101866574, 101866574, 101866574, 101866574, 101867757, 101867804, 101867828, 101867849, 101867849, 101872967, 101872967, 101873457, 101873457, 101904643, 101904659, 101906269, 101906274, 101906317, 101906317, 101906328, 101906331, 101906337, 101906338, 101969962, 101969962, 101969996, 101970052, 101970062, 101970063, 101970063, 101970063, 101970063, 101970071, 101971723, 101971723, 101971742, 101971742, 101971753, 101972192, 101972192, 101972192, 101972192, 101972192, 101972192, 101981024, 101981050, 101996216, 101996216, 102009251, 102009260, 102010081, 102020506, 102020506, 102020553, 102020553, 102020553, 102020553, 102020583, 102020586, 102020586, 102021618, 102021618, 102021661, 102021665, 102021673, 102021694, 102021694, 102023447, 102037107, 102046849, 102060513, 102060744, 101703844, 101703844, 101703844, 101763159, 101763159, 101763159, 101763159, 101763165, 101763165, 101763165, 101763165, 101763212, 101763212, 101763212, 101763212, 101773088, 101773088, 101775871, 101775871, 101775877, 101775877, 101775882, 101776529, 101801007, 101801008, 101801008, 101801008, 101801008, 101801008, 101801008, 101801008, 101801008, 101801008, 101801008, 101801009, 101801121, 101801121, 101801121, 101801121, 101801121, 101801121, 101801148, 101801148, 101823681, 101823681, 101823681, 101823681, 101823681, 101823681, 101823689, 101823689, 101823689, 101823689, 101823689, 101823689, 101823836, 101823836, 101823836, 101823836, 101823837, 101823837, 101823837, 101823837, 101823839, 101823840, 101823845, 101823845, 101823845, 101823845, 101823846, 101823846, 101823846, 101823846, 101823847, 101823847, 101823847, 101823847, 101831627, 101849282, 101849282, 101849282, 101849282, 101849322, 101849322, 101849322, 101849322, 101849322, 101849322, 101849322, 101849322, 101849322, 101849322, 101849322, 101849322, 101849406, 101849406, 101864844, 101864845, 101864950, 101872715, 101880211, 101912749, 101944111, 101944111, 101944111, 101970253, 101971179, 101971179, 101971181, 101971181, 101971206, 101971206, 101971206, 101974923, 101974923, 101974923, 101974923, 101981046, 101981063, 101996669, 101996669, 102020941, 102020942, 102023558, 102060635, 102060635, 102060635, 102060635, 102060635, 102060635);
        Pattern compile = Pattern.compile("^(\\w+[-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
        Matcher matcher = compile.matcher("com.yks.actmgr.biz.IBaseInfoBp#getIf(java.lang.String)");
        while (matcher.find()) {
            System.out.println("Name：" + matcher.group(1) + "\t Age：" +matcher.group(2));
        }


        boolean matches = "ssdsd".matches(".*(ss|ds).*");
        System.out.println(matches);
    }

    public static void main(String[] args, String fistName) {
        "ssdsd".matches(".*(ss|ds).*");
        String fullPathNameStr ="[\"Home Life\",\"TV Wall Bracket\",\"For 14\"-24\"\"]";
        Pattern compile = compile("[^,^\"^\\[]{1}\"[^,^\\]]{1}");
        Matcher matcher = compile.matcher(fullPathNameStr);
        while (matcher.find()){
            String groupStr = matcher.group(0);
            int i = fullPathNameStr.indexOf(groupStr);
            fullPathNameStr=fullPathNameStr.substring(0,i+1)+"“"+fullPathNameStr.substring(i+2);
        }
        System.out.println(fullPathNameStr);
            f(fistName, 11);
    }

    private static void f(String myName, int age) {

        String name=myName;
        System.out.println("name" + age + AGE);
        System.out.println("name" + age + AGE);
    }


}
